#include <arpa/inet.h>
#include <iostream>

int main()
{
    char* ip_str = "192.168.91.128";
    struct in_addr ip_addr;
    in_addr_t ip_int;

    // 将用点分十进制字符串表示的IPv4地址转化为用网络字节序整数表示的IPv4地址
    ip_int = inet_addr(ip_str);

    std::cout << "ip_int: " << ip_int << std::endl; 

    // 同上，但将转化结果存储于参数inp指向的地址结构中
    inet_aton(ip_str, &ip_addr);
    std::cout << "ip_addr.s_addr: " << ip_addr.s_addr << std::endl;

    // 将用网络字节序整数表示的IPv4地址转化为用点分十进制字符串表示的IPv4地址
    char* ip_str_conv = inet_ntoa(ip_addr);
    std::cout << "ip_str_conv: " << ip_str_conv << std::endl;

    return 0;
}